参数寻优:启发式搜索方法

  前面介绍了参数寻优的传统方法,梯度下降,牛顿下降等,传统的参数寻优方法,都是提供了下降的方向和大小参考。如果参数非常多,成千上万个参数,很多峰谷时,有没有较好的方法去估计最优解呢。本文介绍的方法就是在没有下降参考的情况下,如何去估计最优解,其中包括遗传算法,粒子群算法,蚁群算法,都是仿生物学算法。

启发式搜索

  启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置搜索直到目标。由部分信息对计算产生推理,个体能够基于经验或者个体经验交流改变搜索方式。不同于穷举搜索(网格法)和随机搜索(模拟退火算法)。

遗传算法

  遗传算法(GA)的思想来自于进化论,生物种群具有自我进化的能力,能够不断适应环境,优势劣汰之后得到最优的种群个体。进化的行为主要有选择,遗传,变异,遗传算法希望能够通过将初始解空间进化到一个较好的解空间。
  遗传算法的大体步骤:
  1. 初始化候选参数集,并编码为基因序列{ 初始化种群,一组参数编码为一个种群个体,共M个种群个体 }。设定进化代数T。
  2. 个体评估,计算各个种群个体的适应度{ 适应度描述了该个体对自然环境的适应能力,表征了其个体存活能力和生殖机会}。
  3. 选择运算,选择是模拟自然选择,把优秀的个体选择出来{基于适应度},以进行后续的遗传和变异。
  4. 交叉运算,交叉是模拟繁殖后代的基因重组
  5. 变异运算,变异是模拟基因突变
  6. 经过选择,交叉,变异,生产下一代群体,重复此过程,直到停止条件。
  适应度函数的设计要求(由目标函数而来):
  1. 单值,连续,非负,最大化;
  2. 合理,一致性;
  3. 计算量小。
  将目标函数,或者线性变化 Fitness(x)=αF(x)+β ,或者幂函数变换 Fitness(x)=F(x)k ,或者指数变换 Fitness(x)=eαF(x) ,或者Goldbery线性拉伸变换 Fitness(x)=(Cmult1)FavgFmaxFavgF(x)+FmaxCmultFavgFmaxFavgFavg ,或者 Fitness(x)=nmF(x),m=1+lnT,n,
  遗传算法的优缺点:
  1. 通用性强,且简单易于理解。
  2. 潜在的并行性。
  3. 参数选择经验居多。
  4. 搜索速度慢。

粒子群算法

  粒子群算法(Particle Swarm Optimization, PSO),是在研究复杂适应系统(Complex Adaptive System, CAS)-鸟群觅食的过程中提出的。
  CAS系统的主体(系统成员)具有4个基本特点:(这些特点是粒子群算法发展变化的依据)
  1. 主体是主动的,活动的。
  2. 主体与环境及其他主体是相互影响、相互作用的,这种影响是系统发展变化的主要动力。
  3. 环境的影响是宏观的,主体之间的影响是微观的,宏观与微观要有机结合。
  4. 整个系统可能还要受一些随机因素的影响。
  鸟群觅食场景:一群鸟随机地找食物,只有一小片区域是有食物的。每个鸟在自己周边蹦跳,然后叫几声,跟同伴交流食物情况。有个鸟说“哎,我这里有吃的”,然后其他鸟都朝着它所在的方向飞,中间停下来再找。重复上面的过程,最后鸟儿都会集中到有食物的地方。其搜索策略是所有参数都向着当前最优参数的区域搜索(搜索目前离食物最近的鸟的周围区域)。
  粒子群算法的大体步骤:
  1. 初始化参数集 θi=(

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值